A Calculus of Coercions Proving the Strong Normalization of ML

نویسندگان

  • Giulio Manzonetto
  • Paolo Tranquilli
چکیده

We provide a strong normalization result for ML F , a type system generalizing ML with first-class polymorphism as in system F. The proof is achieved by translating ML F into a calculus of coercions, and showing that this calculus is just a decorated version of system F. Simulation results then entail strong normalization from the same property of system F. Introduction. ML F [3] is a type system for (extensions of) λ-calculus which enriches ML with the first class polymorphism of system F, providing a partial type annotation mechanism with an automatic type reconstructor. This extension allows to write system F programs, which is not possible in general in ML, while still being conservative: ML programs still typecheck without needing any annotation. An important feature are principal type schemata, lacking in system F, which are obtained by employing a downward bounded quantification ∀(α ≥ σ)τ, the so-called flexible quantifier. Such a type intuitively denotes that τ may be instantiated to any τ {σ /α}, provided that σ is an instantiation of σ. As already pointed out, system F is contained in ML F. It is not yet known, but it is conjectured [3], that the inclusion is strict. This makes the question of strong normalization (SN, i.e. whether λ-terms typed in ML F always terminate) a non-trivial one, to which we answer positively in this work. The result is proved via a suitable simulation in system F, with additional structure dealing with the complex type instantiations possible in ML F. Our starting point is xML F [5], the Church version of ML F : here type inference (and the rigid quantifier ∀(α = σ)τ we did not mention) is abandoned, with the aim of providing an internal language to which a compiler might map the surface language briefly presented above (denoted eML F from now on 1). Compared to Church-style system F, the type reduction → ι of xML F is more complex, and may a priori cause unexpected glitches: it could cause non-termination, or block the reduction of a β-redex. To prove that none of this happens, we use as target language of our translation a decoration of system F, the coercion calculus, which in our opinion has its own interest. Indeed, xML F has syntactic entities (the instantiations φ) which testify an instance relation between types, and it is not hard to regard them as coercions. The …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Strong Normalization of ML via a Calculus of Coercions

ML is a type system extending ML with first-class polymorphism as in system F. The main goal of the present paper is to show that ML enjoys strong normalization, i.e., it has no infinite reduction paths. The proof of this result is achieved in several steps. We first focus on xML, the Church-style version of ML, and show that it can be translated into a calculus of coercions: terms are mapped i...

متن کامل

Strong normalization of MLF via a calculus of coercions

ML is a type system extending ML with first-class polymorphism as in system F. The main goal of the present paper is to show that ML enjoys strong normalization, i.e., it has no infinite reduction paths. The proof of this result is achieved in several steps. We first focus on xML, the Church-style version of ML, and show that it can be translated into a calculus of coercions: terms are mapped i...

متن کامل

Harnessing ML with the Power of System F

We provide a strong normalization result for ML, a type system generalizing ML with first-class polymorphism as in system F. The proof is achieved by translating ML into a calculus of coercions, and showing that this calculus is just a decorated version of system F.

متن کامل

Harnessing MLF with the Power of System F

We provide a strong normalization result for ML, a type system generalizing ML with first-class polymorphism as in system F. The proof is achieved by translating ML into a calculus of coercions, and showing that this calculus is just a decorated version of system F.

متن کامل

The Delta-calculus: syntax and types

We present the Delta-calculus, an explicitly typed lambda-calculus with strong pairs, projections and explicit type coercions. The calculus can be parametrized with different intersection type theories T, e.g. the Coppo-Dezani, the Coppo-Dezani-Salle', the Coppo-Dezani-Venneri and the Barendregt-Coppo-Dezani ones, producing a family of Delta-calculi with related intersection type systems. We pr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010